package com.demo.jzoffer2;

import org.junit.Test;

import java.util.Arrays;

/**
 * @author gy
 * @date 2022/11/15
 */
public class Test1227_03 {

    /**
     * 数组中有一个数字出现的次数超过数组长度的一半，请找出这个数字。
     *
     * 你可以假设数组是非空的，并且给定的数组总是存在多数元素。
     *
     * 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]
     * 输出: 2
     * @param nums
     * @return
     */
    public int majorityElement(int[] nums) {
        // 对nums进行排序
        Arrays.sort(nums);
        // 无论是奇数 还是 偶数 众数的位置 下标 nums.length / 2 肯定能够覆盖到
        // 因为题目限定了 数组中有一个数字出现的次数超过数组长度的一半
        return nums[nums.length / 2];
    }


    @Test
    public void m1() {

    }

}
